package com.report.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.report.dto.request.InsightReq;
import com.report.dto.response.InsightRes;
import com.report.dto.response.InsightWebRes;
import com.report.dto.response.ReportRes;
import com.report.entity.Insight;
import com.zmh.framework.sys.dto.request.common.PageResponseDTO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author summer
 * @since 2024/06/27 16:24:42
 */
public interface InsightService extends IService<Insight> {

    /**
     * 保存
     * @param insightReq
     */
    void saveInsight(InsightReq insightReq);

    /**
     * 查询列表
     * @param insightReq
     * @return
     */
    Page<InsightRes> lists(InsightReq insightReq);

    /**
     * 查询详情
     * @param id
     * @return
     */
    InsightRes findInsightById(Integer id);

    /**
     * 查询上下篇数据
     * @param id
     * @return
     */
    List<InsightWebRes> preNextInsight(Integer id);

    /**
     * 查询列表
     * @param insightReq
     * @return
     */
    Page<InsightRes> insightList(InsightReq insightReq);

    InsightRes findById(Integer id);

    /**
     * 热门文章
     * @param pageResponseDTO
     * @return
     */
    Page<InsightRes> insightHotspot(PageResponseDTO pageResponseDTO);

    /**
     * 更新
     * @param id
     */
    void saveReadInsight(Integer id);
}
